package com.ssy.lingxi.report.model.constant;

import java.util.Arrays;

/**
 * 手机端应用菜单
 * @author 伍将
 * @date 2021/3/2
 * @version 2.0.0
 */
public enum MobileAppMenuEnum {

    /**
     * 商品询价记录
     */
    COMMODITY_INQUIRY(1, "商品询价记录", 1, 1, ""),
    /**
     * 报价单查询
     */
    QUOTATION_INQUIRY(2, "报价单查询", 1, 2, ""),
    /**
     * 采购订单
     */
    PURCHASE_ORDER(3, "采购订单", 1, 3, ""),

    /**
     * 资金账户
     */
    CAPITAL_ACCOUNT(4, "资金账户", 2, 1, ""),
    /**
     * 授信账户
     */
    CREDIT_ACCOUNT(5, "授信账户", 2, 2, ""),

    /**
     * 需求单查询
     */
    DEMAND_INQUIRY(6, "需求单查询", 3, 1, ""),
    /**
     * 需求报价单查询
     */
    DEMAND_QUOTATION_INQUIRY(7, "需求报价单查询", 3, 2, ""),

    /**
     * 换货记录
     */
    REPLACE_GOODS(8, "换货记录", 4, 1, ""),
    /**
     * 退货记录
     */
    RETURN_GOODS(9, "退货记录", 4, 2, ""),
    /**
     * 维修记录
     */
    REPAIR_GOODS(10, "维修记录", 4, 3, ""),

    /**
     * 电子签章申请
     */
    ELECTRONIC_SIGNATURE_APPLY(11, "电子签章申请", 5, 1, ""),
    /**
     * 授信申请
     */
    CREDIT_APPLY(12, "授信申请", 5, 2, "");

    /**
     * 应用code
     */
    private final Integer code;
    /**
     * 应用名称
     */
    private final String name;
    /**
     * 菜单code：
     * MobileMenuEnum:交易管理-1,支付账号-2,求购管理-3,售后管理-4,业务申请-5
     */
    private final Integer menuCode;
    /**
     * 排序
     */
    private final Integer sort;
    /**
     * 链接地址
     */
    private final String linkUrl;


    MobileAppMenuEnum(Integer code, String name, Integer menuCode, Integer sort, String linkUrl) {
        this.code = code;
        this.name = name;
        this.menuCode = menuCode;
        this.sort = sort;
        this.linkUrl = linkUrl;
    }

    public Integer getCode() {
        return code;
    }

    public String getName() {
        return name;
    }

    public Integer getMenuCode() {
        return menuCode;
    }

    public Integer getSort() {
        return sort;
    }

    public String getLinkUrl() {
        return linkUrl;
    }

    /**
     * 根据code查询枚举对象
     * @author 伍将
     * @date 2021/3/2
     * @param code: code值
     * @return 枚举对象
     **/
    public static MobileAppMenuEnum getItem(Integer code) {
        return Arrays.stream(MobileAppMenuEnum.values()).filter(o -> o.code.equals(code)).findFirst().orElse(null);
    }
}
